|
In the computer science subfield of algorithmic information theory, a Chaitin constant (Chaitin omega number)〔mathworld.wolfram.com, (Chaitin's Constant ). Retrieved 28 May 2012〕 or halting probability is a real number that informally represents the probability that a randomly constructed program will halt. These numbers are formed from a construction due to Gregory Chaitin. Although there are infinitely many halting probabilities, it is common to use the letter Ω to refer to them as if there were only one. Because Ω depends on the program encoding used, it is sometimes called Chaitin's construction instead of Chaitin's constant when not referring to any specific encoding. Each halting probability is a normal and transcendental real number that is not computable, which means that there is no algorithm to compute its digits. Indeed, each halting probability is Martin-Löf random, meaning there is not even any algorithm which can reliably guess its digits. == Background == The definition of a halting probability relies on the existence of prefix-free universal computable functions. Such a function, intuitively, represents a programming language with the property that no valid program can be obtained as a proper extension of another valid program. Suppose that ''F'' is a partial function that takes one argument, a finite binary string, and possibly returns a single binary string as output. The function ''F'' is called computable if there is a Turing machine that computes it (in the sense that for any finite binary string ''x'' such that ''F(x) = y'' the Turing machine halts with ''y'' on its tape when given the input ''x''). The function ''F'' is called universal if the following property holds: for every computable function ''f'' of a single variable there is a string ''w'' such that for all ''x'', ''F''(''w'' ''x'') = ''f''(''x''); here ''w'' ''x'' represents the concatenation of the two strings ''w'' and ''x''. This means that ''F'' can be used to simulate any computable function of one variable. Informally, ''w'' represents a "script" for the computable function ''f'', and ''F'' represents an "interpreter" that parses the script as a prefix of its input and then executes it on the remainder of input. The domain of ''F'' is the set of all inputs ''p'' on which it is defined. For ''F'' that are universal, such a ''p'' can generally be seen both as the concatenation of a program part and a data part, as a single program for the function ''F''. The function ''F'' is called prefix-free if there are no two elements ''p'', ''p′'' in its domain such that ''p′'' is a proper extension of ''p''. This can be rephrased as: the domain of ''F'' is a prefix-free code (instantaneous code) on the set of finite binary strings. A simple way to enforce prefix-free-ness is to use machines whose means of input is a binary stream from which bits can be read one at a time. There is no end-of-stream marker; the end of input is determined by when the universal machine decides to stop reading more bits. Here, the difference between the two notions of program mentioned in the last paragraph becomes clear; one is easily recognized by some grammar, while the other requires arbitrary computation to recognize. The domain of any universal computable function is a computably enumerable set but never a computable set. The domain is always Turing equivalent to the halting problem. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Chaitin's constant」の詳細全文を読む スポンサード リンク
|